// 引入公共配置
import { public_api } from '@/static/public.js';

/**
 * 用户登录接口
 */
export async function login(params) {
    try {
        const res = await new Promise((resolve, reject) => {
            uni.request({
                url: `${public_api}/api/user/login`,
                method: 'POST',
                data: params,
                header: {},
                success: (response) => {
                    resolve(response)
                },
                fail: (err) => {
                    reject(err)
                }
            })
        })

        // 检查HTTP状态码
        if (res.statusCode !== 200) {
            throw {
                statusCode: res.statusCode,
                msg: '网络请求失败',
                data: res.data
            }
        }

        // 检查业务返回的code值，code === 1 表示登录成功
        if (res.data && res.data.code === 1) {
            // 登录成功，返回用户数据
            return res.data.data
        } else {
            // 登录失败，抛出错误信息
            const errorData = res.data || {}
            throw {
                code: errorData.code || -1,
                msg: errorData.msg || '登录失败，请稍后重试',
                data: errorData
            }
        }
    } catch (error) {
        throw error
    }
}

/**
 * 用户注册接口
 */
export async function register(params) {
    try {
        const res = await new Promise((resolve, reject) => {
            uni.request({
                url: `${public_api}/api/user/register`,
                method: 'POST',
                data: params,
                header: {},
                success: (response) => {
                    resolve(response)
                },
                fail: (err) => {
                    reject(err)
                }
            })
        })

        // 检查HTTP状态码
        if (res.statusCode !== 200) {
            throw {
                statusCode: res.statusCode,
                msg: '网络请求失败',
                data: res.data
            }
        }

        // 检查业务返回的code值，code === 1 表示注册成功
        if (res.data && res.data.code === 1) {
            // 注册成功，返回用户数据
            return res.data.data
        } else {
            // 注册失败，抛出错误信息
            const errorData = res.data || {}
            throw {
                code: errorData.code || -1,
                msg: errorData.msg || '注册失败，请稍后重试',
                data: errorData
            }
        }
    } catch (error) {
        throw error
    }
}

